Various data transfer systems have been developed including storage systems, cellular telephone systems, and radio transmission systems. In each of the systems, data is transferred from a sender to a receiver via some medium. For example, in a storage system, data is transferred from a sender (e.g., via a write function) to a storage medium, and from the storage medium to a receiver (e.g., via a read function). The effectiveness of any data transfer is impacted by losses caused by various factors. In some cases, an encoding/decoding process is used to enhance the ability of a system to detect data errors and to correct such errors.
In an error detection and correction application, in attempting to recover a codeword (e.g., error correction encoded data), a decoder employing error correction may encounter one or more trapping sets that prevent the decoder from properly decoding the codeword. To improve error correction, turbo iteration between a decoder and a detector may employ different techniques to, for example, (i) break the trapping sets and/or (ii) prevent the error correction decoder from converging on trapping sets.